package com.lcl.jarvis.dto;

import com.lcl.jarvis.entity.EpidemiologicalInfoDO;
import org.springframework.beans.BeanUtils;

import java.util.List;
import java.util.stream.Collectors;

/**
 * 转换
 */
public class EpidemiologicalInfoDtoAssembler {

    private EpidemiologicalInfoDtoAssembler() {
        // hide for utils
    }

    /**
     * 转换为DTO对象
     *
     * @param value
     * @return
     */
    public static EpidemiologicalInfoDTO toEpidemiologicalInfoDto(EpidemiologicalInfoDO value) {
        if (value == null) {
            return null;
        }
        EpidemiologicalInfoDTO dto = new EpidemiologicalInfoDTO();
        BeanUtils.copyProperties(value, dto);
        return dto;
    }

    /**
     * 转换为实体对象
     *
     * @param dto
     * @return
     */
    public static EpidemiologicalInfoDO toEpidemiologicalInfoDo(EpidemiologicalInfoDTO dto) {
        if (dto == null) {
            return null;
        }
        EpidemiologicalInfoDO value = new EpidemiologicalInfoDO();
        BeanUtils.copyProperties(dto, value);
        return value;
    }

    /**
     * 转换为DTO对象list
     *
     * @param epidemiologicalInfos
     * @return
     */
    public static List<EpidemiologicalInfoDTO> toEpidemiologicalInfoDtoList(List<EpidemiologicalInfoDO> epidemiologicalInfos) {
        if (epidemiologicalInfos == null) {
            return null;
        }
        return epidemiologicalInfos.stream().map(EpidemiologicalInfoDtoAssembler::toEpidemiologicalInfoDto).collect(Collectors.toList());
    }

    /**
     * 转换为实体对象list
     *
     * @param dtos
     * @return
     */
    public static List<EpidemiologicalInfoDO> toEpidemiologicalInfoDoList(List<EpidemiologicalInfoDTO> dtos) {
        if (dtos == null) {
            return null;
        }
        return dtos.stream().map(EpidemiologicalInfoDtoAssembler::toEpidemiologicalInfoDo).collect(Collectors.toList());
    }

}
